As the Internet and associated web services evolve, there is a movement to associate telephony calls with certain web applications. In click-to-call scenarios, an icon to initiate a telephony call may be provided in a web page, which is supported by a web client, such as a web browser. Upon selecting the icon, the web client may initiate the telephony call to a destination associated with the icon, wherein a voice session is automatically established. The ability to initiate telephony calls by simply clicking on an icon in a web page provides significant value to users and content providers.
The telephony call is originated by the web client, which is provided by a computing terminal. In many instances, the computing terminal is not equipped to support telephony calls, since many computing terminals are personal computers or personal digital assistants without the hardware and software necessary to support telephony calls. Even if the computing terminal is capable of supporting telephony calls via the web client, the user may wish to use another telephony terminal, such as a mobile, home, or work telephone for a telephony call to the destination associated with the icon. If another telephony terminal is desired, the user is not able to take advantage of the icon to automatically initiate the call and must take separate measures to initiate the telephony call.
Select computing terminals may support a web client as well as provide a telecommunication client for supporting telephony calls over virtually any type of network. Although the telecommunication client can support telephony calls, the web client is not able to engage the telecommunication client to initiate calls in response to selecting the icon in a click-to-call event. In essence, the telecommunication client is isolated from the web client. As such, any telephony calls initiated from the web client must be supported by the web client, not the telecommunication client.
In co-assigned U.S. patent application Ser. No. 11/316,431 filed Dec. 22, 2005, the disclosure of which is incorporated herein by reference, a computing terminal with a unique telecom control function is presented. The telecom control function is configured to receive call indicia when a call tag in a software entity, such as an application or electronic document, is selected by a user of the computing terminal. The call indicia provides information associated with a remote party with which a call is being requested by the user. The telecom control function may use the call indicia along with user indicia obtained from the user and indirectly establish a call with the remote party using a telephony terminal other than the computing terminal. If the computing terminal includes a telecommunication client capable of supporting a call, the telecom control function may instruct the telecommunication client to directly initiate the call with the remote party using the call indicia. Based on user indicia or predetermined criteria, the telecom control function may select between an indirect or direct initiation of the call in a dynamic fashion, and then effect initiation of the call, either directly or indirectly. Indirect call initiation generally entails the telecom control function directly or indirectly instructing a call control entity to take the requisite steps to initiate a call between the remote party and another telephony terminal associated with the user.
Initiation of the call generally involves instructing a call server to establish the call between the two telephony terminals. In essence, the call server will route call legs to both telephony terminals and then have the legs connected when the telephony terminals are answered. The telephony connection is established between the telephony terminals as if the call were directly initiated from one telephony terminal to another.
Depending on the location of the respective telephony terminals, the service providers supporting the telephony terminals, and the types of communication services supported by the telephony terminals, only certain call servers may be available for the call. If multiple call servers are available for the call, certain call servers may be more appropriate for the call based on routing efficiency, available services, costs, and the like. Accordingly, there is a need for an efficient and effective technique to automatically select a call server for click-to-call calls.